A Branch Predictor with New Recovery Mechanism
نویسنده
چکیده
To improve the performance of wide-issue superscalar processors, it is essential to increase the instruction fetch and issue rate. Removal of control hazard has been put forward as a significant new source of instruction level parallelism for superscalar processors and the conditional branch prediction is an important technique for improving processor performance. Branch mispredictions waste a large number of cycles, inhibit out-of-order execution, and waste power on mis-speculated instructions. Hence, the branch predictor with higher accuracy is necessary for good processor performance. In global-history-based predictors such as gshare and GAg, many mispredictions come from commit-time update of the branch history. Some works on this subject have discussed the need for speculative update of the history and the recovery mechanism for branch misprediction. In this paper, we present a new mechanism for recovering the branch history after mispredictions. The proposed mechanism adds age_counter to the original predictor and doubles the size of BHR (branch history register). The age_counter counts the number of outstanding branches and is used to recover BHR. Simulation results on SimpleScalar tool set and SPEC2000 benchmarks show that gshare and GAg with the proposed recovery mechanism improve the average prediction accuracy by 2.14% and 9.21%, respectively and the average IPC by 8.75% and 18.08%, respectively over original predictors.
منابع مشابه
The Triton Branch Predictor
We describe a new branch predictor that is designed to balance multiple constraints—predicting branch biases versus predicting specific branch instance behavior. Most branch instances only require branch bias information for accurate predictions while a select few require more sophisticated prediction structures. Our predictor uses a cache mechanism to classify branches and dynamically adjust t...
متن کاملAn ahead pipelined alloyed perceptron with single cycle access time
The increasing pipeline depth, aggressive clock rates and execution width of modern processors require ever more accurate dynamic branch predictors to fully exploit their potential. Recent research on ahead pipelined branch predictors [11, 19] and branch predictors based on perceptrons [10, 11] have offered either increased accuracy or effective single cycle access times, at the cost of large h...
متن کاملUsing Branch Prediction Information for Near-Optimal I-Cache Leakage
This paper describes a new on-demand wakeup prediction policy for instruction cache leakage control that achieves better leakage savings than prior policies, and avoids the performance overheads of prior policies. The proposed policy reduces leakage energy by more than 92% with only less than 0.3% performance overhead on average. The key to this new on-demand policy is to use branch prediction ...
متن کاملAn Efficient Indirect Branch Predictor
In this paper, we present a new hybrid branch predictor called the GoStay2, which can effectively reduce indirect misprediction rates. The GoStay2 has two different mechanisms compared to other 2-stage hybrid predictors that use a Branch Target Buffer (BTB) as the first stage predictor: Firstly, to reduce conflict misses in the first stage, a new effective 2-way cache scheme is used instead of ...
متن کاملAdvanced Techniques for Improving Indirect Branch Prediction Accuracy
Deep pipelines and fast clock rates are necessitating the development of high accuracy branch predictors. From microarchitectural viewpoint, in the last decade the importance of indirect branch prediction increased even though, in the computing programs the indirect jumps remain less frequent than the more predictable conditional branches. One reason refers to predicative execution that implies...
متن کامل